1. Field of the Invention
This invention relates to a computer-implemented database system. More specifically, it relates to a decision support system comprising a highly-parallel database-processing multiple-computer system designed for high-speed searching and retrieval of information from a relational or hierarchical database.
2. Discussion of the Background
Database systems have generally employed a single general purpose computer system and a database management system (DBMS) for searching and retrieving information from a relational or hierarchical database.
An important class of database systems is called a transaction processing system. This class of database system processes query or update transactions against a database, the transactions being submitted by end users, usually from remote terminals. Such systems must often support a large number of randomly occurring requests where the response time to the request is an important factor in the level of service provided to the end users. Examples of such transaction processing systems include systems that support automated bank teller machines and airlines reservation systems.
Another important class of database systems is called a decision support system. This class of database system processes query transactions against a database, the transactions being submitted by end users, usually from remote terminals. Such systems may support fewer requests than transaction processing systems, but the decision support requests tend to be more data-intensive and expensive to process because they often require searching large portions of the database in contrast to transaction processing systems queries that are usually concerned with a single account or flight record.
A decision support query, for example, might request the average salary of all employees in the company having a specified grade level. Such a query may result in searching all the employee records to find the matching grade level and then extracting the salary information only from those records to include in the average. Another example of a decision support query would be to provide a count of the number of vehicles in the company fleet, categorized by vehicle type and home location.
Decision support applications are important because they provide a way to draw meaningful aggregate information from large databases. Such aggregations of information are important for trend analysis, capacity planning and similar applications.
There are three important factors in decision support systems that are relevant to the present invention:
1. decision support queries require sweeping searches across the database; PA0 2. decision support queries require extracting information from the database, not updating of information; PA0 3. good service to the end user requires fast response time to the query. PA0 1. A separate query processor complex that attaches to a front-end system to enhance parallelism. PA0 2. Query splitter and scheduler functions. PA0 3. A read-only, shared-data configuration.
Factor 1 implies that an individual decision support query may require a large amount of database search activity. Coupled with factor 3, this means that decision support systems often employ processors dedicated to such processing, the use of multiprocessors for more processing capacity and parallel execution capabilities, or both of the above.
Factor 2 is important because higher performance can be achieved in a system dedicated to processing read-only queries by avoiding the overhead processing required for providing database coherence in the face of concurrent database updates.